home *** CD-ROM | disk | FTP | other *** search
- import java.applet.Applet;
- import java.awt.Canvas;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.image.ImageObserver;
- import java.awt.image.MemoryImageSource;
- import java.awt.image.PixelGrabber;
-
- public class FadeCanvas2 extends Canvas implements Runnable {
- Thread appThread;
- Image osImage;
- Graphics osg;
- Color bkColor;
- Image bkImage;
- Image image;
- int[] imagePixels;
- int imageWidth;
- int imageHeight;
- Image displayImage;
- int fadeInSteps;
- int fadeOutSteps;
- int showTime;
- int hideTime;
- int fadeInTime;
- int fadeOutTime;
- int delayTime;
- int currFadeInStep;
- int currFadeOutStep;
- int showMode;
- int fadeMode;
- int lastFadeMode = 6;
- static final int FADE_UP = 0;
- static final int FADE_DOWN = 1;
- static final int FADE_LEFT = 2;
- static final int FADE_RIGHT = 3;
- static final int FADE_CENTER_BOTH = 4;
- static final int FADE_CENTER_VERT = 5;
- static final int FADE_CENTER_HORIZ = 6;
- static final int SHOW_HIDE = 0;
- static final int SHOW_FADE_IN = 1;
- static final int SHOW_FADE_OUT = 2;
- static final int SHOW_SHOW = 3;
-
- public FadeCanvas2(Applet var1, int var2) {
- this.GetParameters(var1, var2);
- this.Initialize();
- }
-
- void GetParameters(Applet var1, int var2) {
- String var3 = var1.getParameter("fadeBkColor" + var2);
- this.bkColor = AppletParam2.GetColor(var3, (Color)null);
- if (this.bkColor != null) {
- ((Component)this).setBackground(this.bkColor);
- }
-
- var3 = var1.getParameter("fadeBkImage" + var2);
- this.bkImage = var1.getImage(var1.getCodeBase(), var3);
- var3 = var1.getParameter("fadeImage" + var2);
- this.image = AppletParam2.GetImage(var1, var3);
- var3 = var1.getParameter("fadeInTime" + var2);
- this.fadeInTime = AppletParam2.GetInt(var3, 1000);
- var3 = var1.getParameter("fadeInSteps" + var2);
- this.fadeInSteps = AppletParam2.GetInt(var3, 5);
- var3 = var1.getParameter("fadeHideTime" + var2);
- this.hideTime = AppletParam2.GetInt(var3, 1000);
- var3 = var1.getParameter("fadeShowTime" + var2);
- this.showTime = AppletParam2.GetInt(var3, 1000);
- var3 = var1.getParameter("fadeOutTime" + var2);
- this.fadeOutTime = AppletParam2.GetInt(var3, 1000);
- var3 = var1.getParameter("fadeOutSteps" + var2);
- this.fadeOutSteps = AppletParam2.GetInt(var3, 5);
- this.delayTime = this.hideTime;
- this.showMode = 0;
- }
-
- public void Start() {
- this.appThread = new Thread(this);
- this.appThread.start();
- }
-
- public void Stop() {
- this.appThread.stop();
- this.appThread = null;
- }
-
- public void update(Graphics var1) {
- if (this.osImage == null) {
- this.osImage = ((Component)this).createImage(((Component)this).size().width, ((Component)this).size().height);
- this.osg = this.osImage.getGraphics();
- }
-
- this.osg.setColor(((Component)this).getBackground());
- this.osg.fillRect(0, 0, ((Component)this).size().width, ((Component)this).size().height);
- if (this.bkImage != null) {
- int var2 = this.bkImage.getWidth(this);
- int var3 = this.bkImage.getHeight(this);
- int var4 = ((Component)this).size().width / var2;
- int var5 = ((Component)this).size().height / var3;
- ++var4;
- ++var5;
-
- for(int var6 = 0; var6 < var5; ++var6) {
- for(int var7 = 0; var7 < var4; ++var7) {
- this.osg.drawImage(this.bkImage, var7 * var2, var6 * var3, this);
- }
- }
- }
-
- if (this.displayImage != null) {
- int var8 = this.displayImage.getWidth((ImageObserver)null);
- int var9 = this.displayImage.getHeight((ImageObserver)null);
- int var11 = ((Component)this).size().width / 2 - var8 / 2;
- int var13 = ((Component)this).size().height / 2 - var9 / 2;
- this.osg.drawImage(this.displayImage, var11, var13, this);
- }
-
- var1.drawImage(this.osImage, 0, 0, this);
- }
-
- public void run() {
- while(true) {
- try {
- ((Component)this).repaint();
- Thread.sleep((long)this.delayTime);
- this.UpdateImage();
- } catch (InterruptedException var1) {
- }
- }
- }
-
- public Dimension minimumSize() {
- return new Dimension(10, 10);
- }
-
- public Dimension preferredSize() {
- return new Dimension(10, 10);
- }
-
- public synchronized void reshape(int var1, int var2, int var3, int var4) {
- super.reshape(var1, var2, var3, var4);
- this.osImage = null;
- this.osg = null;
- }
-
- public boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) {
- ((Component)this).repaint();
- return true;
- }
-
- void Initialize() {
- if (this.image != null) {
- this.imageWidth = this.image.getWidth(this);
- this.imageHeight = this.image.getHeight(this);
- }
- }
-
- void UpdateImage() {
- if (this.showMode == 0) {
- this.showMode = 1;
- this.currFadeInStep = 0;
- this.delayTime = this.fadeInTime / this.fadeInSteps;
- this.BuildFadeInImage();
- } else if (this.showMode == 1) {
- if (this.currFadeInStep < this.fadeInSteps) {
- ++this.currFadeInStep;
- this.BuildFadeInImage();
- } else {
- this.showMode = 3;
- this.delayTime = this.showTime;
- this.displayImage = this.image;
- }
- } else if (this.showMode == 3) {
- this.showMode = 2;
- this.currFadeOutStep = 0;
- this.delayTime = this.fadeOutTime / this.fadeOutSteps;
- this.BuildFadeOutImage();
- } else {
- if (this.showMode == 2) {
- if (this.currFadeOutStep < this.fadeOutSteps) {
- ++this.currFadeOutStep;
- this.BuildFadeOutImage();
- return;
- }
-
- this.showMode = 0;
- this.delayTime = this.hideTime;
- this.displayImage = null;
- }
-
- }
- }
-
- void GetImagePixels() {
- this.imagePixels = new int[this.imageWidth * this.imageHeight];
- PixelGrabber var1 = new PixelGrabber(this.image, 0, 0, this.imageWidth, this.imageHeight, this.imagePixels, 0, this.imageWidth);
-
- try {
- var1.grabPixels();
- } catch (InterruptedException var3) {
- System.out.println(((Throwable)var3).getMessage());
- }
- }
-
- void BuildFadeInImage() {
- this.GetImagePixels();
- this.displayImage = null;
- if (this.currFadeInStep != this.fadeInSteps) {
- int var1 = 0;
-
- for(int var2 = 0; var2 < this.imageWidth * this.imageHeight; ++var2) {
- int var3 = this.imagePixels[var2];
- int var4 = (var3 & -16777216) >> 24;
- int var5 = (var3 & 16711680) >> 16;
- int var6 = (var3 & '\uff00') >> 8;
- int var7 = var3 & 255;
- if (var1 <= this.currFadeInStep) {
- this.imagePixels[var2] = (var4 << 24) + (var5 << 16) + (var6 << 8) + var7;
- } else if (var1 > this.fadeInSteps) {
- var1 = 0;
- } else {
- this.imagePixels[var2] = (var5 << 16) + (var6 << 8) + var7;
- }
-
- ++var1;
- }
- }
-
- this.imageWidth = this.image.getWidth(this);
- this.imageHeight = this.image.getHeight(this);
- this.displayImage = ((Component)this).createImage(new MemoryImageSource(this.imageWidth, this.imageHeight, this.imagePixels, 0, this.imageWidth));
- }
-
- void BuildFadeOutImage() {
- this.GetImagePixels();
- this.displayImage = null;
- if (this.currFadeOutStep != this.fadeOutSteps) {
- int var1 = 0;
-
- for(int var2 = 0; var2 < this.imageWidth * this.imageHeight; ++var2) {
- int var3 = this.imagePixels[var2];
- int var4 = (var3 & -16777216) >> 24;
- int var5 = (var3 & 16711680) >> 16;
- int var6 = (var3 & '\uff00') >> 8;
- int var7 = var3 & 255;
- if (var1 <= this.currFadeOutStep) {
- this.imagePixels[var2] = (var5 << 16) + (var6 << 8) + var7;
- } else {
- this.imagePixels[var2] = (var4 << 24) + (var5 << 16) + (var6 << 8) + var7;
- }
-
- if (var1 > this.currFadeOutStep) {
- var1 = 0;
- }
-
- ++var1;
- }
-
- this.imageWidth = this.image.getWidth(this);
- this.imageHeight = this.image.getHeight(this);
- this.displayImage = ((Component)this).createImage(new MemoryImageSource(this.imageWidth, this.imageHeight, this.imagePixels, 0, this.imageWidth));
- }
-
- }
- }
-